home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / btrees2.arc / BTEXPORT.C < prev    next >
Text File  |  1984-12-14  |  2KB  |  62 lines

  1. /*    btexport        */
  2. #include <stdio.h>
  3. #include <btextern.h>
  4. int btexport ()
  5.  
  6. /*    send values to outside world    */
  7.  
  8. {
  9.     int offset, seg;
  10.  
  11. /* check if return code is bad */
  12.  
  13. if (gretcode) {            /* yes me bad ! */
  14.     offset = peek (INTINT, 0) + 2 * sizeof (int);
  15.     seg = peek (INTINT + sizeof (int), 0);
  16.     pokew (offset, seg, NULL);    /* poke NULL filehandle */
  17.  
  18.     offset += sizeof (int);
  19.     pokew (offset, seg, gretcode);    /* poke bad return code */
  20.  
  21.     offset += sizeof (int);
  22.     pokew (offset, seg, NULL);     /* poke null data pointer */
  23.  
  24.     return;                /* out of btsys */
  25.  
  26. }    /* end if */
  27. switch (gfcode)    {
  28. case 1 :
  29. case 2 : 
  30.     offset = peek (INTINT, 0) + 2 * sizeof (int);
  31.     seg = peek (INTINT + sizeof (int), 0);
  32.     pokew (offset, seg, gfilhand);
  33.     offset += sizeof (int);
  34.     pokew (offset, seg, gretcode);
  35.     offset += sizeof (int);
  36.     pokew (offset, seg, NULL);     /* poke NULL data pointer */
  37.     break;
  38. case 3 :        /* file close */
  39. case 4 :        /* insert key */
  40.     offset = peek (INTINT, 0) + 2 * sizeof (int);
  41.     seg = peek (INTINT + sizeof (int), 0);
  42.     pokew (offset, seg, NULL);    /* NULL file handle */
  43.     offset += sizeof (int);
  44.     pokew (offset, seg, gretcode);    /* send return code */
  45.     offset += sizeof (int);
  46.     pokew (offset, seg, NULL);    /* NULL data pointer */
  47.     break;
  48. case 5 :        /* random read */
  49.     offset = peek (INTINT, 0) +2 * sizeof (int);
  50.     seg = peek (INTINT + sizeof (int), 0);
  51.     pokew (offset, seg, NULL);    /* NULL file handle */
  52.     offset += sizeof (int);
  53.     pokew (offset, seg, gretcode);
  54.     offset += sizeof (int);
  55.     pokew (offset, seg, gdatapt);    /* return data pointer */
  56.     break;
  57.  
  58. default: 
  59.     break;
  60. }    /* end of switch */
  61. }    /* end of btexport */
  62.